#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>

int side(long long a)
{
	int ret = 0;
	while (a > 0)
	{
		a /= 10;
		++ret;
	}
	ret += ret / 3;
	if (ret % 3 == 0 && ret > 0)
		ret -= 1;
	return ret;
}

int main()
{
	long long a = 0;

	while (scanf("%lld", &a) != EOF)
	{
		char arr[200] = { 0 };
		int time = 0;
		int w = 0;
		w = side(a);
		--w;
		while (a > 0)
		{
			arr[w--] = a % 10 + '0';
			a /= 10;
			++time;
			if (time == 3)
			{
				arr[w--] = ',';
				time = 0;
			}
			printf("%s\n", arr);
		}


	}
	return 0;
}


//#include<stdio.h>
//#include<string.h>
//
//int main()
//{
//	char arr1[100] = {0};
//	char arr2[100] = {0};
//	gets(arr1);
//	gets(arr2);
//	char arr3[100] = { 0 };
//	int len = strlen(arr1);
//	int w = 0;
//	for (int i = 0;i < len;++i)
//	{
//		if (arr1[i] == ' ')
//		{
//			arr3[w++] = ' ';
//			continue;
//		}
//		if (!strchr(arr2, arr1[i]))
//		{
//			arr3[w++] = arr1[i];
//		}
//	}
//	printf("%s", arr3);
//	return 0;
//}